package com.jsb.laundry.model.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;


/**
 * 用户端账号表(UserInfo)实体类
 *
 * @author makejava
 * @since 2023-08-01 14:15:09
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ApiModel(value = "用户信息", description = "用户信息")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class UserInfo implements Serializable {

    private static final long serialVersionUID = -65482402729938122L;

    /**
     * 用户id
     */    
    @ApiModelProperty(value = "用户id", dataType = "String")
    private String userId;

    /**
     * 手机号
     */    
    @ApiModelProperty(value = "手机号", dataType = "String")
    private String userPhone;

    /**
     * 用户密码
     */    
    @ApiModelProperty(value = "用户密码", dataType = "String")
    private String userPassword;

    /**
     * 创建时间
     */    
    @ApiModelProperty(value = "创建时间", dataType = "Date")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 微信小程序用户唯一标识
     */    
    @ApiModelProperty(value = "微信小程序用户唯一标识", dataType = "String")
    private String openId;

    /**
     * 微信小程序union_id
     */    
    @ApiModelProperty(value = "微信小程序union_id", dataType = "String")
    private String unionId;

    /**
     * 微信小程序用户密钥
     */    
    @ApiModelProperty(value = "微信小程序用户密钥", dataType = "String")
    private String sessionKey;

    /**
     * 注册的类型（0小程序,1App）
     */    
    @ApiModelProperty(value = "注册的类型（0小程序,1App）", dataType = "String")
    private String loginType;

    /**
     * 用户账号状态(正常：0,封禁：1)
     */    
    @ApiModelProperty(value = "用户账号状态(正常：0,封禁：1)", dataType = "String")
    private String delFlag;

    /**
     * 普通会员 0正常 1删除
     */    
    @ApiModelProperty(value = "普通会员 0正常 1删除", dataType = "String")
    private String vip;

    /**
     * 登录ip
     */    
    @ApiModelProperty(value = "登录ip", dataType = "String")
    private String userLoginIp;

    /**
     * 最后登录时间
     */    
    @ApiModelProperty(value = "最后登录时间", dataType = "Date")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date userLoginTime;

    /**
     * 最后更新时间
     */    
    @ApiModelProperty(value = "最后更新时间", dataType = "Date")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;
 
}
